home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / program / ddj0897.zip / DYN401.ZIP / class / intdict.d < prev    next >
Text File  |  1996-04-01  |  2KB  |  103 lines

  1.  
  2. /*                                      
  3.  *
  4.  *      Copyright (c) 1993-1996 Algorithms Corporation
  5.  *      3020 Liberty Hills Drive
  6.  *      Franklin, TN 37067
  7.  *
  8.  *      ALL RIGHTS RESERVED.
  9.  *
  10.  *      
  11.  *      
  12.  */
  13.  
  14.  
  15.  
  16.  
  17. defclass  IntegerDictionary : Set  {
  18.  init:    init_class;
  19. };
  20.  
  21.  
  22. #include "set1.h"
  23.  
  24.  
  25.  
  26. #define LTYPE    4    /*  lookup type        */
  27.  
  28. static    gLookup_t    Lookup;        /*  locally cached  */
  29.  
  30. imeth    gAddInt, <vAdd> (int key, value)
  31. {
  32.     ChkArgNul(value, 3);
  33.     return Lookup(self, (object) &key, HT_ADD, 0, LTYPE, value);
  34. }
  35.  
  36. imeth    gFindValueInt, <vFindValue> (int key)
  37. {
  38.     object    x;
  39.  
  40.     x = Lookup(self, (object) &key, HT_FIND, 0, LTYPE, NULL);
  41.     return x ? gValue(x) : x;
  42. }
  43.  
  44. imeth    gFindInt, <vFind> (int key)
  45. {
  46.     return Lookup(self, (object) &key, HT_FIND, 0, LTYPE, NULL);
  47. }
  48.  
  49. imeth    gChangeValueWithInt, <vChangeValue> (int key, object val)
  50. {
  51.     object    x;
  52.     ChkArgNul(val, 3);
  53.     x = Lookup(self, (object) &key, HT_FIND, 0, LTYPE, NULL);
  54.     return x ? gChangeValue(x, val) : x;
  55. }
  56.  
  57. imeth    gFindAddInt, <vFindAdd> (int key, value)
  58. {
  59.     ChkArgNul(value, 3);
  60.     return Lookup(self, (object) &key, HT_FINDADD, 0, LTYPE, value);
  61. }
  62.  
  63. imeth    object    gDispose()
  64. {
  65.     return gDispose1(self);
  66. }
  67.  
  68. imeth    object    gDisposeAllNodes()
  69. {
  70.     return gDisposeAllNodes1(self);
  71. }
  72.  
  73. imeth    gRemoveInt, <vRemove> (int key)
  74. {
  75.     return Lookup(self, (object) &key, HT_DELETE, 1, LTYPE, NULL);
  76. }
  77.  
  78. imeth    gDeepDisposeInt, gDisposeInt (int key)
  79. {
  80.     return Lookup(self, (object) &key, HT_DELETE, 2, LTYPE, NULL);
  81. }
  82.  
  83. static    void    init_class(void)
  84. {
  85.     Lookup = imcPointer(Set, gLookup);
  86. }
  87.  
  88.  
  89.  
  90. /*                                      
  91.  *
  92.  *      Copyright (c) 1993-1996 Algorithms Corporation
  93.  *      3020 Liberty Hills Drive
  94.  *      Franklin, TN 37067
  95.  *
  96.  *      ALL RIGHTS RESERVED.
  97.  *
  98.  *      
  99.  *      
  100.  */
  101.  
  102.  
  103.